package system

import (
	"gorm.io/gorm"
)

type MenuModel struct {
	gorm.Model
	MenuName     string `gorm:"size:32;column:menu_name;comment:菜单名称" json:"menuName"`
	MenuPath     string `gorm:"size:64;column:menu_path;comment:菜单路径" json:"menuPath"`
	Component    string `gorm:"size:32;column:component;comment:组件" json:"component"`
	Icon         string `gorm:"size:128;column:icon;comment:图标" json:"icon"`
	Title        string `gorm:"size:32;column:title;comment:标题" json:"title"`
	ParentMenuID uint   `gorm:"column:parent_menu_id;comment:父菜单ID" json:"parentMenuId"` // 父菜单ID（关联字段）
	// 以下为修复重点：
	ParentMenu *MenuModel   `gorm:"-" json:"parentMenu"` // 使用 gorm:"-" 排除非数据库字段（前端展示用）
	Children   []*MenuModel `gorm:"-" json:"children"`   // 使用 gorm:"-" 排除非数据库字段（前端展示用）
	Sort       int          `gorm:"column:sort;comment:排序" json:"sort"`
}

type Meta struct {
	Icon  string `gorm:"size:128;column:icon;comment:图标" json:"icon"`
	Title string `gorm:"size:32;column:title;comment:标题" json:"title"`
}
